import Vue from 'vue'

function px2rpx(num) {
	let result = 0
	let sysInfo = uni.getSystemInfoSync()
	result = 750 * num / sysInfo.screenWidth
	return result
}

function formatWordcount(count) {
	count = parseFloat(count) || 0
	if (count < 10000) {
		return count.toString()
	}
	return (count / 10000).toFixed(1) + '万'
}

// 格式化时间戳
function formatTimestamp(t, fmt = 'yyyy-MM-dd hh:mm:ss') {
	t = t || Date.now();
	let ret;
	let time = new Date(t);
	const opt = {
		"y+": time.getFullYear().toString(), // 年
		"M+": (time.getMonth() + 1).toString(), // 月
		"d+": time.getDate().toString(), // 日
		"h+": time.getHours().toString(), // 时
		"m+": time.getMinutes().toString(), // 分
		"s+": time.getSeconds().toString() // 秒
		// 有其他格式化字符需求可以继续添加，必须转化成字符串
	};
	for (let k in opt) {
		ret = new RegExp("(" + k + ")").exec(fmt);
		if (ret) {
			fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
		};
	};
	return fmt;
}

// 文件读
function fileReader(filename) {
	return new Promise((resolve, reject) => {
		//#ifdef APP-PLUS
		plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fobject) {
			// fs.root是根目录操作对象DirectoryEntry
			fobject.root.getFile(filename, {
				create: true
			}, function(fileEntry) {
				fileEntry.file(function(file) {
					var fileReader = new plus.io.FileReader();
					fileReader.readAsText(file, 'utf-8');
					fileReader.onloadend = function(evt) {
						// console.log('内容：', evt)
						resolve(evt.target.result)
					}
				});
			});
		});
		//#endif
		//#ifndef APP-PLUS
		resolve('')
		//#endif
	})
}

// 文件写
function fileWriter(filename, content) {
	//#ifdef APP-PLUS
	plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fobject) {
		// fs.root是根目录操作对象DirectoryEntry
		fobject.root.getFile(filename, {
			create: true
		}, function(fileEntry) {
			fileEntry.file(function(file) {
				// create a FileWriter to write to the file
				fileEntry.createWriter(function(writer) {
					writer.seek(0)
					writer.write(content);
					// console.log('写入成功')
				}, function(e) {
					// console.log('写入失败')
				});
			});
		});
	});
	//#endif
}

//导出
export default {
	px2rpx, // px转rpx
	formatWordcount, // 格式化字数以万为单位
	formatTimestamp, // 格式化时间戳
	fileReader, //文件读
	fileWriter, //文件写
}
